Computer servers typically include components such as central processing units (CPUs), memory, and input/output (IO) devices. As the needs for computing grows, the number of components in a computer server also grows. To interconnect these components, a blade server chassis can provide a rack unit where component cards can be plugged into an interconnect fabric via a plurality of slots. Blade server chassis on the market may offer 4, 8, 12, 16, or more slots in a single chassis.
Through the interconnect fabric provided in the blade server chassis, the component cards can communicate with other component cards in the blade server chassis or with other systems over a network (e.g., if the blade server chassis provides network connectivity). The functions of the interconnect fabric is typically provided by specialized hardware (for performance reasons), for instance, the interconnect fabric may be implemented as an application specific integrated circuit (ASIC). The interconnect fabric, depending on the chosen configuration of the blade server chassis, would have slots which are each configured to only receive a particular type of component card, for example, a host having one or more CPUs, a target device having an IO device, network interface controllers, or a hard drive (or similar storage device).
Thus, the specific hardware in the interconnect fabric, interconnecting the component cards of a chassis, poses some limitations to ways server components can be configured in a data center. For instance, adding components, which do not work with the empty slots in an existing chassis, prompts a costly purchase for a new chassis. In another instance, some slots in a chassis may be left unused, thereby wasting valuable physical space and resources of a chassis. Furthermore, if different components cards cannot be disaggregated easily, the infrastructure for the various types of component cards and the component cards themselves cannot be scaled or updated independently.